Typically, modern business processes depend at least in part on software. While some of these processes are supported by a single application, many others rely on diverse software systems. This software has commonly been created at different times, on different computer platforms, and using different technologies. Given this, automating those business processes requires connecting diverse systems.
Two scenarios are important for application integration. One is connecting applications within a single organization, commonly referred to as enterprise application integration (EAI). The other, called business-to-business (B2B) integration, connects applications in different organizations. FIG. 1 illustrates a simple example of a business process management server 102 of the prior art applied to an EAI problem. In this example, each application (application 104, application 106, and application 108) communicates using a different protocol. Accordingly, the messaging component of business process management server 102 implements adapters (e.g., adapter 110, adapter 112, adapter 114) to communicate with each application in its native protocol and/or message type. Additionally, no single application is aware of the complete business process. The business rules and/or business logic required to coordinate the software involved is implemented in a business process orchestration 116.
For example, an inventory application 104 running on a mainframe type computer notices that the stock of an item is low and issues a message 118 including a request to order more of that item. This message 118 is sent to a business process orchestration 116 via an adapter 110. The adapter 110 converts the message from the inventory application 104 format to business process management server 102 format and then forwards the converted message to the business process orchestration 116.
Next, the business process orchestration 116 issues a request to this organization's ERP (Enterprise Resource Planning) application 106 requesting a purchase order. The ERP application 106 executes on another computer type and adapter 112 converts the request into a message 120 in a format required by the ERP application 106 and then sends the message 110 to the ERP application 106. In response to the message 120, the ERP application 106 issues a purchase order and sends a message 122 including the purchase order to the business process management server 102 via adapter 112. As described above, the adapter converts the message 122 from the ERP application format to the business process management server format and forwards the message to the business process orchestration 116.
Lastly, the business process orchestration 116 issues a request to a fulfillment application 108 requesting the item should be ordered. The fulfillment application 108 executes on yet another computer type and adapter 114 converts the request into a message 124 in a format required by the fulfillment application 108 and then sends the message 124 to the fulfillment application 108.
Thus, the simple example described above illustrates the need for adapters that can be easily configured to process many different messages types and computer protocols.